package rolesystem.roles.auction;

import java.io.Serializable;

/**
 * This class represents the sale of a good.
 * Instances of this class are constant, once created they
 * cannot be changed.
 */
public class Sale implements Serializable
{
	/**
	 * Reserve price.
	 */
	private Price reserve;

	/**
	 * Good description.
	 */
	private String goodDesc;

	/**
	 * Good put on sale.
	 */
	private Serializable good;


	/**
	 * Constructor with no arguments, for
	 * serializability.
	 */
	private Sale()
	{
	}


	/**
	 * @param reserve Reserve price.
	 * @param goodDesc Good description.
	 * @param good Good put on sale.
	 */
	public Sale(Price reserve, String goodDesc, Serializable good)
	{
		this.reserve=reserve;
		this.goodDesc=goodDesc;
		this.good=good;
	}


	/**
	 * Returns the reserve price.
	 * @return The reserve price.
	 */
	public Price getReserve()
	{
		return reserve;
	}


	/**
	 * Returns the good description.
	 * @return The good description.
	 */
	public String getGoodDesc()
	{
		return goodDesc;
	}


	/**
	 * Returns the good put on sale.
	 * @return The good put on sale.
	 */
	public Serializable getGood()
	{
		return good;
	}
}
